• F
  • E
  • R
  • u
  • d
  • e
  • n

자바스크립트 동등연산자(==)와 일치연산자(===) 차이

2018-06-04 (16일 전)javascript
자바스크립트 동등연산자(==)와 일치연산자(===) 차이

자바스크립트에는 추상적 같음 비교(이중 등호, 동등 연산자)와 엄격한 같음 비교(삼중 등호, 일치 연산자)가 있다.

가장 큰 차이점은 이중 등호는 두 값을 비교할 때 자동으로 형변환하여 같음을 비교하지만, 삼중 등호는 형변환을 수행하지 않고 비교한다.

이중 등호 연산자의 예시를 보자.

0 == false //true
"" == false //true
"" == 0 //true
"0" == 0 //true
[1,2] == "1,2" //true
new String('hello') == 'hello' //true
null == undefined //true

이중 등호 연산자는 자동으로 형변환을 하고 비교하므로 위 예시는 모두 true를 return한다. 하지만, 삼중 등호 연산자일 경우에 위 예시들은 모두 타입이 다르기 때문에 모두 false를 return할 것이다.

값을 비교할 때 삼중 등호 연산자를 사용하는 것을 습관화하는 것이 혹시 모를 예상치 못한 상황을 막을 수 있는 좋은 방법인 것 같다.